#include "qloghelper.h"

// 构造函数：初始化日志辅助类
// 参数 parent: 父对象，用于Qt对象管理
QLogHelper::QLogHelper(QObject *parent) : QObject(parent)
{
    // 获取应用程序的运行目录路径
    log_path = QCoreApplication::applicationDirPath();
    // 将路径指向日志文件夹
    log_path.append("/Log");
    // 创建QDir对象，用于后续操作日志文件夹
    QDir dr(log_path);

    // 检查日志文件夹是否存在，如果不存在则创建
    if(!dr.exists())
    {
        dr.mkdir(log_path);
    }

    // 构造日志文件名，格式为：/年-月-日.txt
    log_path.append(QDateTime::currentDateTime().toString("/yyyy-MM-dd"));
    log_path.append(".txt");
    // 创建QFile对象，用于后续操作日志文件
    QFile fl(log_path);

    // 检查日志文件是否存在，如果不存在则创建
    if(!fl.exists())
    {
        fl.open(QIODevice::WriteOnly);
        fl.close();
    }
}

// 保存日志信息到文件
// 参数 s: 待保存的日志信息
void QLogHelper::SaveLog(QString s)
{
    // 创建一个空的日志字符串
    QString log_t = "";
    // 将输入的日志信息追加到日志字符串中
    log_t.append(s);
    // 创建一个QFile对象，指定日志文件路径
    QFile file(log_path);

    // 检查日志文件是否存在
    if(file.exists())
    {
        // 打开日志文件，准备写入
        file.open(QIODevice::WriteOnly);
        // 将日志字符串转换为UTF-8编码并写入文件
        file.write(log_t.toUtf8());
        // 关闭日志文件
        file.close();
    }

    // 发出信号，通知日志写入完成
    emit WriteOver("内容写入完毕");
}
